home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / initial-packages.scm < prev    next >
Text File  |  1995-10-13  |  2KB  |  95 lines

  1. ; Copyright (c) 1993, 1994 Richard Kelsey and Jonathan Rees.  See file COPYING.
  2.  
  3.  
  4. ; Packages involved in building the initial system.
  5.  
  6.  
  7. ; Access to values from packages and structures 
  8.  
  9. (define-structure environments environments-interface
  10.   (open scheme-level-2
  11.     packages syntactic meta-types
  12.     fluids
  13.     locations    ; contents
  14.     signals)    ; error
  15.   (files (rts env)))
  16.  
  17. ; EVAL and LOAD
  18.  
  19. (define-structure evaluation evaluation-interface
  20.   (open scheme-level-2
  21.     compiler
  22.     packages            ;package-uid
  23.     environments        ;package-for-load
  24.     closures        ;make-closure
  25.     vm-exposure        ;invoke-closure
  26.     scan            ;noting-undefined-variables
  27.     signals fluids)
  28.   (files (rts eval)))
  29.  
  30. ; Scheme = scheme-level-2 plus EVAL and friends
  31.  
  32. (define-module (make-scheme environments evaluation)
  33.   (define-structure scheme scheme-interface
  34.     (open scheme-level-2
  35.       environments
  36.       evaluation))
  37.   scheme)
  38.  
  39.  
  40. ; Command processor.
  41.  
  42. (define-module (make-mini-command scheme) ;copied from debug-packages.scm
  43.   (define-structure mini-command (export command-processor)
  44.     (open scheme
  45.       signals conditions handle
  46.       display-conditions)
  47.     (files (debug mini-command)))
  48.   mini-command)
  49.  
  50.  
  51. ; For building systems.
  52.  
  53. (define-module (make-initial-system scheme command)
  54.  
  55.   (define-structure initial-system (export start)
  56.     (open scheme
  57.       command
  58.       interfaces        ;make-simple-interface
  59.       packages        ;make-simple-package
  60.       environments        ;with-interaction-environment, etc.
  61.       scheme-level-2-internal ;usual-resumer
  62.       conditions handle    ;error? with-handler
  63.       signals)        ;error
  64.     (files (env start)))
  65.  
  66.   initial-system)
  67.  
  68.  
  69. ; Utility to load packages following dependency links (OPEN and ACCESS)
  70.  
  71. (define-structure ensures-loaded    ;Cf. (link-initial-system) and Makefile
  72.     (export ensure-loaded really-ensure-loaded)
  73.   (open scheme-level-2
  74.     packages
  75.     packages-internal
  76.     evaluation        ;load
  77.     filenames
  78.     signals
  79.     environments        ;with-interaction-environment
  80.     scan)            ;scan-structures
  81.   (files (env load-package)))
  82.  
  83.  
  84. ; Things needed by the expression generated by REIFY-STRUCTURES.
  85.  
  86. (define-structure for-reification for-reification-interface
  87.   (open scheme-level-1
  88.     packages packages-internal
  89.     syntactic usual-macros
  90.     meta-types            ;sexp->type
  91.     interfaces            ;make-simple-interface
  92.     inline
  93.     tables)
  94.   (files (bcomp for-reify)))
  95.